There is a continuing goal in the semiconductor memory technologies to improve the manufacturing yield of integrated circuit (IC) memory devices. "Yield" is often expressed as the number of operable IC memory devices that are suitable for marketing as a percentage of the total number of IC memory devices produced during any given manufacturing batch. Traditionally, individual IC memory devices were considered defective if any portion of the chip did not function properly. This unfortunately lead to the rejection of some IC chips even though only a few memory cells of the entire array proved inoperable.
To improve yield, semiconductor memory manufacturers began designing memory chips with additional redundant memory cells. When defective memory cells were detected during the manufacturing process, redundant memory cells were wired to replace the flawed or defective cells prior to packaging. By replacing the inoperable memory cells with operable redundant memory cells, an otherwise defective memory device could be upgraded to an operable device suitable for sale. Accordingly, the use of redundant cells improved the manufacturing yield.
Another prior art solution to handling defective memory cells was to simply avoid the bad cells through the use of special operating systems that were implemented in software or firmware external to the memory device. One object of this invention is to provide an on-chip solution to defective memory bytes.
Programmable non-volatile memories are a type of memory device that can be programmed by placing an electric charge in the individual memory cells of the device. The electric charge is representative of binary data, where commonly a +5 volt charge represents a binary data "1" and minimal or no charge represents a binary data "0". Non-volatile memories retain this charge even when power is removed from the device.
Programmable non-volatile memories can be generally classified in the following groups: programmable read-only memories (PROMs), electrically programmable read-only memories (EPROMs), and electrically erasable programmable read-only memories (EEPROMs). A PROM is considered to be a one-time programmable (OTP) device where data can be written to the memory cells only once. In contrast, EPROMs and EEPROMs are typically considered a multi-time programmable (MTP) device because data can be written to the memory cells, then erased, and then rewritten to many different times.
To program such memories, a high programming voltage (e.g., 12.75 volts) is applied to the memory array to drive the desired electric charge into selected memory cells. After the cells have been programmed, the high programming voltage is removed, and the charges are maintained in the cells for an indefinite period of time.
Ideally, all memory cells in the programmable non-volatile memory can be programmed and retain the charge for a long period of time. In practice, however, less than all memory cells prove effective at receiving and holding a charge. The percentage of operable cells that are validly programmable to the total number of cells is referred to as "programming yield". There is a continuing need in the manufacture of programmable non-volatile memories to improve programming yield.
Programming yield is typically tested at the factory prior to shipment. For MTP programmable memories, the cells can be programmed, tested, and then erased prior to shipment. It is more difficult for OTP programmable memories which cannot be fully tested at the factory because individual cells cannot be programmed, tested and then erased prior to shipment. Accordingly, OTP programmable memories often have a lower programming yield than MTP memories. There is a need to improve the programming yield of OTP memories.
Another aspect unrelated to programming yield is the ability to write, erase, and rewrite data many times to MTP memories (such as EPROMs and EEPROMs). The number of times a memory performs this function is known as "endurance". Memory chips are said to have longer endurance the more times data can be written to them, erased, and then rewritten to the same memory cells. There is a continuing need in the industry to extend the endurance of rewritable, non-volatile memories.
One prior art solution to improving endurance is through the use of error correction circuitry (ECC). This system uses complex algorithms and circuitry to insure that correct data is being written into, and read from, the memory cells. The use of such circuitry has the drawback in that it requires substantial chip space.
This invention provides a programmable non-volatile memory device which improves programming yield (for both MTP and OTP memories) and endurance. The novel memory device also has on-chip circuitry to identify and replace defective memory bytes.